package collectionday02;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new LinkedList<>();
        long time = System.currentTimeMillis();
        list.add("one");
        list.add("two");
        list.add("three");
        list.add("four");
        list.add("five");
        list.add("one");
        System.out.println("lise:"+list);

        // E get(int index):获取指定下标所对应的元素
        String e =list.get(1);
        System.out.println(e);

        //迭代器遍历
        Iterator<String> it = list.iterator();
        while(it.hasNext()){
            System.out.println(it.next());
        }

        //增强for循环遍历
        for (String  o:list) {
            System.out.println(o);
        }

        //for循环遍历
        for (int i = 0; i < list.size(); i++) {
            System.out.println(list.get(i));
        }


        System.out.println("--------------------");

        //E set(int index , E e):将给定元素设置到指定位置，返回被替换的元素----一般不接受
        list.set(2,"six");//将下标为2的元素设置为six---常规用法
        System.out.println("lise:"+list);//lise:[one, two, six, four, five, one]
        System.out.println("--------------------");

        String old = list.set(3,"seven");//将list中下标为3的元素设置为seven，同时将原数据返回old
        System.out.println("lise:"+list);//lise:[one, two, six, seven, five, one]
        System.out.println(old);//four
        System.out.println("--------------------");

        //E remove(int index) :删除指定下标位置的元素，并返回指定位置元素
        //list.remove(2);//删除下标为2的元素---常用用法
        String r = list.remove(2);//将list中下标为2的元素删除，同时将原数据返回给r
        System.out.println(r);////six
        System.out.println("lise:"+list);//lise:[one, two, seven, five, one]
        System.out.println("--------------------");


        /*
          void add(int  index)  将给定元素e添加到index 所指定的位置，相当于插入操作
        */
        list.add(3,"Four");//在list下标为3的位置插入Four
        System.out.println("lise:"+list);//lise:[one, two, seven,Four, five, one]
        System.out.println("--------------------");

        long end = System.currentTimeMillis();
        System.out.println(end-time);

    }
}
